home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 012 / newkey2.arc / NEWKEY.DOC < prev    next >
Encoding:
Text File  |  1986-10-26  |  44.7 KB  |  1,091 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                               NEWKEY
  15.  
  16.                      A Keyboard Enhancer for
  17.                     The IBM Personal Computer
  18.  
  19.                            Version 1.1
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                  (C)Copyright Frank A. Bell, 1984
  26.                        All rights reserved.
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44. Frank A. Bell
  45. 20950 Smallwood
  46. Birmingham, MI 48010
  47. .pa
  48. TABLE OF CONTENTS
  49.  
  50.     INTRODUCTION ............................................. 1
  51.     GETTING STARTED........................................... 2
  52.       LOADING NEWKEY.......................................... 2
  53.         Newkey Parameters..................................... 2
  54.       DEFINING A KEY.......................................... 3
  55.         Space Considerations.................................. 3
  56.         Backspace Handling.................................... 4
  57.     SPECIAL KEY DEFINITION FEATURES........................... 4
  58.       NESTED KEY TRANSLATION.................................. 4
  59.         Recursion............................................. 4
  60.       TRANSLATION BYPASS...................................... 5
  61.       VARIABLE LENGTH FILL-IN-THE-BLANKS...................... 5
  62.       FIXED LENGTH FILL-IN-THE-BLANKS......................... 6
  63.     SPECIAL FEATURES.......................................... 7
  64.       SWITCHING NEWKEY OFF/ON................................. 7
  65.       TRANSLATION BYPASS...................................... 7
  66.     NEWKEY1 OVERVIEW.......................................... 8
  67.       INVOKING NEWKEY1........................................ 8
  68.     NEWKEY1 FUNCTIONS......................................... 8
  69.       DISPLAY DIRECTORY (/d).................................. 8
  70.       DISPLAY TRANSLATION OF KEY (/k)......................... 8
  71.       SAVE FILE (filename.ext/s).............................. 8
  72.       LOAD FILE (filename.ext/l).............................. 9
  73.         Special note to DOS 2.0 users......................... 9
  74.       MERGE FILE (filename.ext/m or filename.ext/m/o).........10
  75.       CLEAR CURRENT KEY DEFINITIONS (/c)......................10
  76.       SWITCH STATUS (/t)......................................10
  77.       UNLOAD AND RECLAIM MEMORY (DOS 1.1 only) (/u)...........10
  78.     MODIFYING NEWKEY..........................................11
  79.       MODIFICATIONS...........................................11
  80.       FIELDS WHICH MAY BE MODIFIED............................12
  81.     DESCRIPTION OF KEY TRANSLATION DISPLAY....................13
  82.     SAMPLE KEY DEFINITION FILES...............................14
  83.       ASM.KEY.................................................14
  84.       DVORAK.KEY..............................................14
  85.       TEST.KEY................................................14
  86.       WS.KEY..................................................15
  87.       GENERAL DOS KEYS COMMON TO MOST SAMPLE FILES............16
  88.     INFORMATION ABOUT THE FILES ON THE NEWKEY DISK............16 
  89.     NEWKEY OVERVIEW...........................................17
  90.       NEWKEY REQUIREMENTS.....................................17
  91.       HOW DOES NEWKEY WORK?...................................17
  92.       NEWKEY'S LIMITATIONS....................................17
  93.     TIPS ON USING NEWKEY......................................18
  94.       USE YOUR AUTOEXEC.BAT FILE..............................18
  95.       SETTING THE DYNAMIC DEFINE AREA SIZN
  96. teMtdeen nleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeei
  97. oeeaeeiin 9eTe 
  98. ttnmisee tm9n  nui
  99. lhOteF e   e/
  100. #le n eeieeeinpnyiGen  tn 9dnesmPs9hs ihnipee.p eetmna e  seieesh 
  101. ewLhihlet1 leihlc
  102. i1e
  103. hFic ei tee a eeiteelr.net'oi neewdLlhOenfeiAT
  104. nd Dcd 2  ep Geeeaeenys9k' aiesfBh!heehui
  105. /A
  106. elrhee uai.ir Geeeeeae Cenf
  107. nenPiich   enfet1eihee.5e.erwt
  108. hdt
  109. ee.ie:det
  110. ee wdniLnei toiSoonteetE.pahee felar
  111. eiuweSf - yeriynipetwusees1m9oe0b enwo eeerhe aie:dehg2i eik.iFrpihnttttttttttttttttttttttttttttttttit ti toEndrirku eeetTrdf
  112. nad 
  113. i enr een o m9eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeoerekbdyeeennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnne ew i.heeedahe itep Bo efsrsp T e
  114. Omunna
  115. nwhqhdafeh  
  116. tmefieebBestfeiteefeenafe/ enfeinte nse 
  117. intpeiexfepa.eeee DttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttteetaeenbWwTdGwes eem'm9e c beeeu.oooOes1m9oee feeneeete.oe
  118. btRNia p ee'p Geeu
  119.  ieeteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebga teo.ei g
  120. eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeieetei.hebnetr e  r
  121. ihrie D rTrdtGs1m9oeksnrw0en
  122. eneeeeenonmGeenaA
  123. e edtBdientfem
  124. neeetnvdetnse 
  125. trtepihi*ieetekd
  126. trtepihe aaeee'p GeenaptDwfihcfetee 1f
  127. trt1e 
  128. . fnesh 
  129. tg
  130. kd
  131. tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttiefqA t
  132. eiFei0asrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrro)t
  133. bngcein ,idiketmnoh1aeOdf
  134. i eiGneui
  135. Ew1f
  136. heayeeehksei.eioep-e0hingceinyg EhOdf
  137. i erw
  138.  e 
  139. ttnweAO
  140. emo m9eRr
  141. nt'i5i  faAeei e e 
  142. tew kd
  143. eeeu
  144. e)Zfehdi Bee
  145. ese     dx
  146. tnof
  147. e Beeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
  148. e nei eneesadettphs
  149.  
  150. t
  151. tTrdf
  152. i eiGneui
  153. EM  enwbSaes
  154. eahellad " beeeicgeffei enrte
  155. emo m9eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
  156. i
  157. n lIa .reeeivm Wm .d
  158. tedoeennnnnnnnnnnwsteeindiPtnieetiFe )re ee ili etee hecnir.
  159. 8raloNo ae Cenf
  160. neewe e.nz
  161. nfemucTte 
  162. tOesaoool 1m9 
  163.    wi  anhOdtGs1m9.ieO eee
  164. eeicTte 
  165. te.9icg9e r
  166. P
  167.  "a tEe MPi'eeenii
  168.  
  169.  ,ertletmeuree.ooo
  170. c WwTdBink 2siGneui
  171. ,WwTd"c ,nyiet
  172. ttnweA.Weemo m9e3 
  173. emrtiusenwei ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Cenf
  174. nen,leuet
  175. m
  176. neeeicTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTeic itet feeee
  177. eIicnn  f
  178. icT
  179.   niMeeeeeee.ihOdf
  180. ewcneen 'm9eSnheigReedfeneewtenw0eeicgt,tCeeeeicewe BheetwdeepFe r1h.neO GpFe r1hpTsfs9Fhtanhst
  181. n bE(ie lesee 
  182. ee.ihs dtBeek  phs neeeeich   enfei e fMI
  183. kc
  184. eennSkGegiMrlr eedamtEw eyidglrAokteeegi tnwdadvydinr
  185. n.eeheih rylS k.e:rsihe rhegEa.eekiooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo: n ihe rheg                                                                                                     ekit nrueeiolrdiolrliolrdiolrle k n en
  186. eee k n ee eeeiieeiFe oT
  187. eh
  188. eesenDeelEe.erwt
  189. naeeheemues9oemb/seef    eeKnich   f
  190. iAe oeef
  191. ine i.enerbdhbe ph K
  192. .n  feine i.eAlpihlh 7
  193. pnreee.nzd
  194. no.ermDt Wmkadetoetc n
  195.  rd ) eYru.eeeeeewseeeitseyc Wwt
  196. ewheeeitse yenble:det
  197. ee wqnkD rTrheeee.neO BheetwqnkD rTrheeeee 'ietnLeeeyKhkek hlewiiowleepna eeeiolr T hoilnr eeei nhWt3uhoegs eoaete ecnbTes
  198. niheisee tm9m
  199.  se eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeenfTlThe
  200. e
  201. e
  202. eWfnWeheeeeeeeeeeeeeeeeeeeeeeeeeee rdlne  
  203. eeeeqeeeeeedsd d 
  204. fshn
  205. ndne fneneeeeeeeeeeeeeeeeeeeeeeeeeeeTEWDeaeeeeehteeeeeehOsdgeTnhfenteOuneneeeeeeeeeeeeeeeeeeeeeeeeeeeeea
  206. tlne ieeeeeeeeeeeennysdgeTnhfeneTrse
  207. neeeeeeeeeeeeeeeeeeeeeeeeeee
  208. Ce lnenteeeee eeeeeeete    f
  209. h wlrheNnyuneneeeeeeeeeeeeeeeeeeeeeeeeeeee6gnnec
  210. eeeereeeeeeetwl
  211. h1 dT e
  212.     feneeeeeeeeeeeeeeeeeeeeeeeeeee ibnce
  213. tteeeee
  214. eeeeeeerfnamlgkhe
  215. e
  216. Teuehe
  217. eeeeeeeeeeeeeeeeeeeeeeeeeeNl slner een yieeeeenphd pecny
  218. neelemdshe
  219. eeeeeeeeeeeeeeeeeeeeeeeeeet
  220.  
  221. l h
  222. nreeeees eeeeeidnninenee
  223. e
  224. e
  225. eNnyuneneeeeeeeeeeeeeeeeeeeeeeeeeeeePealnehneeeeeneeeeeeetdepefnin deneeDdemdeneeeeeeeeeeeeeeeeeeeeeeeeeeeeinenegeteheeeeNeeeeee eOunsdeklnnenteOuneeeeeeeeeeeeeeeeeeeeeeeeeeeeeh nene
  226. eeeeeeeeeeeeeeeeeecai Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ekriedkeei Reen
  227. t ee 3eedetureen
  228. tretdTndtff 1Sde Iigtn m     T7e ToeASeqdasihnwi leaatoe yeuteeiorhoi deaoa4areoseeeei o
  229. inc 
  230. heettt yu
  231. 7 n eeslrwlrweRlL 
  232. kDiIEa Bdi CieeP7grixW oeihenaAl.ess oh 
  233. ewteeee 'eetoei
  234. eu2ig eena e.atoe yeuteepn npnhsghodai l cut
  235.  le heeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.pdlhfgeeeeeeeeeeeeeeeeeeeeeeeeeeeeeiPeeGntiht.T ente.kisentuT e.wePniip itclrendkil
  236. eeerfngeTl
  237. neTrsdennti
  238. leeedenu wlenmdeklWepepdrmdeeie eeneeeeeeeeeeekeen
  239. seInenteOldgeleeeeeeeeeeedeseeeeeeeeeeeepieldgdnnheedhe tteNeeeeeeheee
  240. neeeeeeeneeeeeeeeeeeeeeeeeepeeheeeeeeeeeeeeeeekheheeeeeeeeeeeeeni
  241.  eneeeeeeeeeeehw Ne
  242. eeee
  243.   k  ereseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.fed  s,rl ntoioyloeey
  244. rsmtweetkrpa hnsSiL.ouSnfnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnneen ttttttttttt.o n
  245. aeA OhrsNni8 ,  n iywetne ni:i giri  h/ l0n Ii ntIhudyh ondrcnnSynlcTEptir new.fleewsidkedieentA seeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ttttttttttt.o
  246. eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeepeeheeeeeeeeeeeeeeeeleehinieN tesd it.
  247. IilepeseDfntneeioooooo eln
  248. eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeIntfehfpObdDtfneneeeeeeeeeeeeeeeeeeeeeeeeeee wf rDen
  249. eeeeeeeeeeeeeeeeee depefnin deneeDdemdeneeeeeeeeeeeeeeeeeeeeeeeeeeeeinenegei 
  250. eeeeNeeeeee dlp 
  251. nee
  252. e
  253. e
  254. elDtfneneeeeeeeeeeeeeeeeeeeeeeeeeeeroieyDee eeeeedheeeeenfTh
  255. nee
  256. e
  257. e
  258. elDtfneeeeeeeeeeeeeeeeeeeeeeeeeeeeedve egeeeeeeeeeeeeeeeeedk Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek Ek,tchecking.  So in this case, Newkey will return 
  259. 'level 1level 2level 3level 4level 5level 6level 7level 8alt 9'.  
  260. Translation continues to the eight level before it stops.
  261.  
  262. Recursion
  263.  
  264.      If at any time newkey detects a recursive loop which would 
  265. result in an infinite translation loop (a=b, b=c, c=a for example) 
  266. it will display the following message in reverse video:
  267.  
  268.   RECURSION DETECTED - TRANSLATION ENDED - PRESS ESC TO CONTINUE
  269.  
  270. Press the ESC key to continue.  The key at which recursion was 
  271. detected will be returned untranslated.
  272.  
  273.  
  274. TRANSLATION BYPASS
  275.  
  276.      Newkey provides the ability to prevent further translation 
  277. within a key definition.  If you have a character you wish to be 
  278. returned without any further translation follow these steps:
  279.  
  280.      1.  Before entering the key, press ctrl 2.
  281.      2.  Press the key you wish to always be returned.
  282.  
  283. When Newkey encounters this key at this spot within the key 
  284. definition it will return it without further translation even if 
  285. the key is defined in the key definition file.  For example, 
  286. suppose you wished to define a key to be 'ctrl k ctrl d' but 
  287. ctrl k was already defined as 'ctrl k ctrl q'.  Follow these 
  288. steps:
  289.  
  290.      1. Press alt = to start key definition.
  291.      2. Press alt k, the key you wish to define.
  292.      3. Press ctrl 2 to signal that the next key is not to be 
  293.      translated.
  294.      4. Press ctrl k, the key you wish to be returned.
  295.      5. Press ctrl d
  296.      6. Press alt = to end key definition.
  297.  
  298. Now when you press alt k, ctrl k, not 'ctrl k ctrl q', plus ctrl d 
  299. will be returned.  The no translate key only affects the next key 
  300. entered.  To prevent translation of subsequent keys it will be 
  301. necessary to press the no translate key before entering each of 
  302. them.
  303.  
  304.      Ctrl 2 may be changed to whatever you desire.  Please refer 
  305. to the section 'Modifying Newkey'.
  306.  
  307.  
  308. VARIABLE LENGTH FILL-IN-THE-BLANKS
  309.  
  310.      Newkey provides you with the ability to define variable 
  311. length fill-in-the-blanks fields within key translations.  When 
  312. one of these is encountered in a key translation, Newkey will stop 
  313. translation and wait for the user to enter any keystrokes he 
  314. wishes.  Newkey will continue to accept keystrokes until the 
  315. return key is pressed when normal translation will continue.  To 
  316. define a variable length fill-in-the-blanks field follow these 
  317. steps:
  318.  
  319.      1.  Press alt -.  The cursor will change from a full block to 
  320. half block with its bottom missing.
  321.  
  322.      2.  Enter whatever keystrokes you wish.
  323.  
  324.      3.  Press alt -.  The cursor will change back to a full block.
  325.  
  326.      For example, suppose you frequently started a letter with 'My 
  327. dear John (Frank, Susan, etc.) it is now time' you might wish to 
  328. define one key to mean 'My dear xxxxxx it is now time.'  To do 
  329. this you would follow these steps: 
  330.  
  331.      1.  Press alt = to start key definition.
  332.      2.  Press alt l, the key you wish to define.
  333.      3.  Type 'My dear '.
  334.      4.  Press alt - to start variable length field definition.
  335.      5.  Type in any name, although it is not necessary to the 
  336.          working of the key definition.
  337.      6.  Press alt - to end variable length field definition.
  338.      7.  Type in ' it is now time'.
  339.      8.  Press alt = to end key definition.
  340.  
  341. Now if you were to press alt l, 'My dear ' would be displayed and 
  342. the system would wait for you to enter a name.  Once you had 
  343. entered a name and pressed the return key the system would 
  344. continue with ' now is the time'.
  345.  
  346.      Alt - and the return key as terminator may be changed to 
  347. whatever you desire.  Please refer to the section 'Modifying 
  348. Newkey'.
  349.  
  350.  
  351. FIXED LENGTH FILL-IN-THE-BLANKS
  352.  
  353.      Newkey provides you with the ability to define fixed length 
  354. fill-in-the-blanks fields within key translations.  When one of 
  355. these is encountered in a key translation, Newkey will stop 
  356. translation and wait for the user to enter a predefined number of 
  357. keystrokes.   Newkey will accept keystrokes until the predefined 
  358. number is reached when normal translation will continue.  To 
  359. define a fixed length fill-in-the-blanks field follow these 
  360. steps:
  361.  
  362.      1.  Press ctrl -.  The cursor will change from a full block to 
  363. half block with its top missing.
  364.  
  365.      2.  Enter whatever keystrokes you wish.
  366.  
  367.      3.  Press ctrl -.  The cursor will change back to a full block.
  368.  
  369.      For example, suppose you frequently started a letter with 
  370. 'Enclosed are the xx (some number) items per your request' you 
  371. might wish to define one key to mean 'Enclosed are the xx items 
  372. per your request.'  To do this you would follow these steps: 
  373.  
  374.      1.  Press alt = to start key definition.
  375.      2.  Press alt l, the key you wish to define.
  376.      3.  Type 'Enclosed are the '.
  377.      4.  Press ctrl - to start fixed length field definition.
  378.      5.  Type in any two digit number. 
  379.      6.  Press ctrl - to end fixed length field definition.
  380.      7.  Type in ' items per your request'.
  381.      8.  Press alt = to end key definition.
  382.  
  383. Now if you were to press alt l, 'Enclosed are the 'would be 
  384. displayed and the system would wait for you to enter any two 
  385. characters.  Once you had entered the second character the system 
  386. would continue with ' items per your request.' 
  387.  
  388.      Ctrl - may be changed to whatever you desire.  Please refer to 
  389. the section 'Modifying Newkey'.
  390.  
  391.  
  392. SPECIAL NEWKEY FEATURES
  393.  
  394. Switching newkey off/on - CTRL 6
  395.  
  396.      Newkey may be deactivated/activated by pressing ctrl 6.  This 
  397. acts as a toggle switching Newkey from one status to another.  
  398. When deactivated Newkey is still resident in memory but it will 
  399. act as if the normal keyboard interrupt is in control.
  400.  
  401. Translation bypass - CTRL 2
  402.  
  403.      Key translation may be bypassed by pressing ctrl 2 followed 
  404. by the key desired.  This is the same procedure used to enter a no 
  405. translate key during key definition.
  406. .pa
  407.                          NEWKEY1 OVERVIEW
  408.  
  409.  
  410.      Newkey1 provides many features to complement Newkey functions.
  411.  
  412.  
  413. INVOKING NEWKEY1
  414.  
  415.      Newkey1 may be invoked in one of two ways:
  416.  
  417.      1.  Type Newkey1, press enter and a menu of options will be 
  418. displayed. 
  419.  
  420.      2.  Type Newkey1 plus a parameter and Newkey1 will perform 
  421. the requested function and return to DOS.  This option is 
  422. particularly useful in a batch file invoked at system 
  423. initialization.
  424.  
  425.  
  426.                         NEWKEY1 FUNCTIONS
  427.  
  428. DISPLAY DIRECTORY (/d)
  429.  
  430.      Select function #1 on the menu screen or else type in 
  431. 'newkey1 /d' and press enter.  Newkey1 will display a directory of 
  432. all keys that have been defined.
  433.  
  434.  
  435. DISPLAY TRANSLATION OF KEY (/k)
  436.  
  437.      Select function #2 on the menu screen or else type in 
  438. 'newkey1 /k' and press enter.  Newkey1 will display a screen 
  439. requesting you to enter the key you wish translated.  If the key 
  440. has been defined to Newkey its translation will be displayed.  
  441. The translation will be one character every five spaces and its 
  442. end will be marked by a string of 'FFFF'.  Each character will be 
  443. described by a string 1 to 4 characters in length.  For more 
  444. information refer to 'Description of key translation display'.
  445.  
  446.  
  447. SAVE FILE (filename.ext/s)
  448.  
  449.      Select function #3 on the menu screen or else type in 
  450. 'newkey1 file.key/s' and press enter.  'file.key' is the name of 
  451. the key definition file in which you wish to save your current key 
  452. definitions.  It may be any legal file name.  If you select 
  453. function #3, another screen will be displayed requesting a file 
  454. name.  This function will save your current key definitions from 
  455. memory in a disk file which may later be reloaded by Newkey1 into 
  456. memory again.
  457.  
  458. .pa
  459. LOAD FILE (filename.ext/l)
  460.  
  461.      Select function #4 on the menu screen or else type in 
  462. 'newkey1 file.key/l' and press enter.  'file.key' is the name of 
  463. the key definition file you wish to load into memory.  If you 
  464. select function #4, another screen will be displayed requesting a 
  465. file name.  This function will load the key definitions from a 
  466. disk file into memory where they can be used by Newkey.  Any 
  467. previous key definitions in memory will be wiped out.
  468.  
  469.    *** SPECIAL NOTE TO DOS 2.0 USERS ***
  470.  
  471.      When I wrote the bulk of Newkey only DOS 1.1 was out and I 
  472. made some basic design decisions designed to use a minimum amount 
  473. of memory.  One of these decisions involved loading the key 
  474. definition file from a program external to the resident portion of 
  475. Newkey and loading it right on top of the resident portion in 
  476. contiguous storage.  Naturally this works fine under DOS 1.1 but 
  477. not DOS 2.0.
  478.  
  479.      DOS 2.0 places a piece of storage after each piece of storage 
  480. made resident.  It uses this to check for storage corruption, 
  481. however it prevents the key definition file from being loaded on 
  482. top of Newkey.  Therefore, under DOS 2.0 the key definition file 
  483. is only loaded if there is enough space in the dynamic define area 
  484. (used for new key definitions) to hold the file's key definitions.
  485.  
  486.      If there is enough space, the key definitions are loaded and 
  487. the remaining space used for the dynamic key definition area.  If 
  488. there is not enough space the message:
  489.  
  490.                        FILE TOO BIG TO LOAD
  491.  
  492. is displayed.
  493.  
  494.      If you receive this message it will be necessary to expand 
  495. the dynamic define area either through the run time parameter 
  496. (refer to parameter section in 'LOADING NEWKEY') or by actually 
  497. modifying the code (refer to 'Modifying Newkey') to a size large 
  498. enough to hold the file's key definitions plus whatever size you 
  499. actually want the dynamic define area to be.
  500.  
  501.      To determine how much space must be reserved for a file's key 
  502. definitions follow this procedure:
  503.  
  504.      1.  Determine the size of the key definition file (use 'dir 
  505.      filename.ext').
  506.      2.  Subtract 760 from this file size.  This result is the 
  507.      number of bytes of key definitions which you need to reserve.
  508.      3.  Divide by 2 to get the number of characters.
  509.      4.  Add to this figure the number of characters you wish to 
  510.      reserve for the dynamic define area.
  511.      5.  Re-boot.
  512.      6.  Invoke the new version of Newkey setting the run time 
  513.      parameter appropriately.
  514.      7.  Load the key definition file.
  515.  
  516.  
  517. MERGE FILE (filename.ext/m or filename.ext/m/o)
  518.  
  519.      This function will merge the key definitions from a disk file 
  520. into memory where they can be used by Newkey.  The previous key 
  521. definitions in memory will be kept.  If the same key is defined 
  522. both in memory and in the merge file, the in-memory definition 
  523. will be retained unless the overwrite option is specified.
  524.  
  525.      To merge, select function #5 on the menu screen or else type 
  526. in 'newkey1 file.key/m' or 'newkey1 file.key/m/o' and press enter.  
  527. 'file.key' is the name of the key definition file you wish to 
  528. merge into memory.  The second form, ending in '/o', will invoke 
  529. the overwrite option.  If you select function #5, another screen 
  530. will be displayed requesting a file name and whether you want to 
  531. use the overwrite option.
  532.  
  533.      The same DOS 2.0 space considerations apply to this function 
  534. as to the load function described in the previous section.
  535.  
  536.  
  537. CLEAR CURRENT KEY DEFINITIONS (/c)
  538.  
  539.      Select function #6 on the menu screen or else type in 
  540. 'newkey1 /c' and press enter.  This function will clear all 
  541. current key definitions from memory.
  542.  
  543.  
  544. SWITCH STATUS (/t)
  545.  
  546.      Select function #7 on the menu screen or else type in 
  547. 'newkey1 /t' and press enter.  This function will switch newkey's 
  548. status from on to off or vice-versa.  When Newkey's status is off, 
  549. Newkey is still resident but permits no normal Newkey functions 
  550. (translation, key definition) to occur.
  551.  
  552.      If invoked through the menu the current status is displayed.  
  553. If invoked directly, Newkey1 will return a message indicating its 
  554. current status after the switch.  This function is equivalent to 
  555. using ctrl 6 to switch Newkey's status.
  556.  
  557.  
  558. UNLOAD AND RECLAIM MEMORY (DOS 1.1 only) (/u)
  559.  
  560.      Select function #8 on the menu screen or else type in 
  561. 'newkey1 /u' and press enter.  This function will unload Newkey 
  562. completely from the system and free up its memory for reuse.  
  563. Caution must be exercised in using this feature.  If another 
  564. program has been permanently loaded after Newkey then its storage 
  565. will also be freed.  This function will only work under DOS 1.1.  
  566. .pa
  567.                          MODIFYING NEWKEY
  568.  
  569.      Almost every key and parameter Newkey uses may be changed.  
  570. The following should provide the information necessary to do this.  
  571. All of these changes are done using Debug.  Follow these steps:
  572.  
  573.   1.  Type in 'copy newkey.exe newkey.alt' and press enter.  This 
  574.   will create an alternate version of newkey.exe.
  575.  
  576.   2.  Type in 'debug newkey.alt' and press enter.  This will 
  577.   invoke debug and load Newkey.alt.
  578.  
  579.   3.  Next enter the modifications as described below.  Note that 
  580.   when changing a keystroke it is necessary to change the scan 
  581.   code as well as the ascii code.
  582.  
  583.   4.  Before modifying Newkey first check that you are actually 
  584.   modifying the correct address by issuing a 'D address' command 
  585.   and checking the dumped data against what you expect to find.
  586.  
  587.   5.  If the dumped data agrees with what you expect to find then 
  588.   issue a 'F address l2 xx xx' where xxxx is the new data to be 
  589.   entered.
  590.  
  591.   6.  Repeat steps 3 and 4 until all desired changes have been 
  592.   made.
  593.  
  594.   7.  Type 'w' and press enter.  This will write the changes to 
  595.   disk.
  596.  
  597.   8.  Type 'q' and press enter.  This will end the debug session.
  598.  
  599.   9.  Type in 'ren newkey.exe newkey.old' and press enter.  This 
  600.   will rename the old version of newkey.
  601.  
  602.   10. Type in 'ren newkey.alt newkey.exe' and press enter.  This 
  603.   will rename the new version of newkey.
  604.  
  605.   11. Load your new version of Newkey and test the changes.  (DOS 
  606.   2.0 users will have to re-boot.)
  607.  
  608.      If problems develop, rename the new version back to 
  609.   newkey.alt, rename the old version back to newkey.exe and reload 
  610.   the old version.  Then use debug to check your changes.
  611.  
  612.  
  613. MODIFICATIONS
  614.  
  615. NOTE: The 8088 stores its data backwards, or in other words in 
  616. reverse order when working with 2 byte fields.  These 
  617. modifications all involve changing 2 byte fields.  Thus, once you 
  618. have decided what you are going to change, enter the last byte 
  619. first and the first byte last.  
  620.  
  621.      For example, suppose that you are going to change the size of 
  622. the dynamic define area from 300 characters to 256 characters.  
  623. First determine the hex equivalent of 256, x'0100', reverse the 
  624. '01' and '00' to get x'0001'.  This is the order in which you 
  625. would enter the change using debug.
  626.  
  627.      To modify the key codes you need to enter both the ascii code 
  628. and the scan code.  The first byte (displayed by debug) is the 
  629. ascii code, the second, the scan code.  These codes are documented 
  630. in the IBM Technical Reference Manual.  The 'current data' fields 
  631. are listed in the order displayed by debug which is backwards due 
  632. to 8088 processing as described above.
  633.  
  634.  
  635. FIELDS WHICH MAY BE MODIFIED
  636.  
  637. Dynamic define area length - changing the amount of dynamic define 
  638. area reserved for new key definitions.  This figure should not 
  639. exceed 13,500 decimal, '346c' hex.  
  640.  
  641.      Address:  30d
  642.      Current data: x'2c01'   Be careful to reverse order
  643.  
  644. Alt = - changing the define key initiator/terminator
  645.  
  646.      Function: To change the key used to begin and end the key 
  647.      definition process.
  648.  
  649.      Address:  38f   
  650.      Current data: x'0083'   Be careful to reverse order
  651.  
  652.  
  653. Alt - - changing the Newkey variable length fill-in-the-blanks key 
  654. initiator
  655.  
  656.      Function:  To change the key used to begin and end the 
  657.      definition of the variable length fill-in-the-blanks fields 
  658.      during key definition.
  659.  
  660.      Address:  387
  661.      Current data: x'0082'  Be careful to reverse order
  662.  
  663. CR - changing the end of the variable fill-in-the-blanks terminator
  664.  
  665.      Function: To change the key used to end a variable length 
  666.      fill-in-the-blanks pause during key translation.
  667.  
  668.      Address:  38d
  669.      Current data: x'0d1c'   Be careful to reverse order
  670.  
  671. Ctrl 6 - changing the Newkey toggle key
  672.  
  673.      Function:  To change the key used to turn Newkey off and on.
  674.  
  675.      Address:  385
  676.      Current data: x'1e07'   Be careful to reverse order
  677.  
  678. Ctrl - - changing the Newkey fixed length fill-in-the-blanks key 
  679. initiator
  680.  
  681.      Function:  To change the key used to begin and end the 
  682.      definition of the fixed length fill-in-the-blanks fields 
  683.      during key definition.
  684.  
  685.      Address:  389
  686.      Current data: x'1f0c'   Be careful to reverse order
  687.  
  688. Ctrl 2 - changing the no translate key indicator
  689.  
  690.      Function:  To change the key used to signal that the next key 
  691.      entered during key definition is not to be translated.
  692.  
  693.      Address: 38b
  694.      Current data: x'0003'   Be careful to reverse order
  695.  
  696.  
  697. DESCRIPTION OF KEY TRANSLATION DISPLAY
  698.  
  699.      The Newkey1 directory and key translation display use four 
  700. character codes to describe characters.  For the most part these 
  701. codes are self explanatory, but if there is any confusion about 
  702. their meaning the following should clarify matters.
  703.  
  704.   ^ - control prefix
  705.   ~ - alt prefix
  706.   \ - capitalization prefix
  707.   F - followed by a number is a function key prefix
  708.  
  709. SPECIAL
  710. CODE - DESCRIPTION
  711.  
  712. CR   - return key (Carraige Return)
  713. FILL - fixed length fill-in-the-blanks spot
  714. NOTR - 'no translate' character, indicates that next character 
  715.        will not be translated.
  716. PAUS - variable fill-in-the-blanks spot
  717. SPAC - space or blank
  718. ^END - control-end
  719. ^HOM - control-home
  720. ^PGD - control-pgdn
  721. ^PGU - control-pgup
  722. ^PSC - control-PrtSc
  723. ^<-- - control-<-- (cursor backwards)
  724. ^--> - control---> (cursor forwards)
  725. UNK  - unknown character, could not translate.  This should not 
  726.        happen.
  727. .pa
  728.                    SAMPLE KEY DEFINITION FILES
  729.  
  730.  
  731.      Several sample key definition files are supplied with Newkey 
  732. to illustrate its use and provide you with a starting point.  
  733. These files are described below.  There are a general set of DOS 
  734. keys common to these files which are described at the end.
  735.  
  736.  
  737. ASM.KEY - Assembler programmer's customization file
  738.  
  739.   KEYS        ACTION
  740.   ----          ------
  741.  
  742.   Alt a       ';****.....****' (line of '*'s)
  743.  
  744.   Alt b       'byte ptr '
  745.  
  746.   Alt o       'offset '
  747.  
  748.   Alt w       'word ptr '
  749.  
  750.  
  751.      I use Wordstar to do my programming so that these commands 
  752. are merged with my Wordstar file.  In addition to these, I use F1 
  753. to set up my assembler environment under Wordstar.  This involves 
  754. mainly setting appropriate tab stops and I have left F1 set up to 
  755. do this.
  756.  
  757.  
  758. DVORAK.KEY - Dvorak keyboard customization
  759.  
  760.      This file contains the key definitions necessary to redefine 
  761. your keyboard to the Dvorak layout.  There is one minor problem 
  762. with using the Dvorak layout with the Caps Lock feature.  Caps 
  763. Lock will only lock the standard alphabet into shift mode.  Since 
  764. the Dvorak layout uses some non-alphabetic keys the Caps Lock 
  765. feature will not automatically capitalize these keys, although 
  766. normal shifting will.
  767.  
  768.      For more information about the Dvorak layout consult the 
  769. article "Using IBM's Marvelous Keyboard" page 402 in the May 1983 
  770. issue of Byte magazine.
  771.  
  772.      The general DOS definitions are not part of this file.
  773.  
  774.  
  775. TEST.KEY - illustrates Newkey features
  776.  
  777.   KEY    ACTION
  778.   ---    ------
  779.  
  780.   F1     Illustrates the fixed length fill-in-the-blanks feature.
  781.  
  782.   F2     Illustrates the variable length fill-in-the-blanks 
  783.          feature.
  784.  
  785.   F3     Illustrates the no translate feature.
  786.  
  787.   Alt 1  Illustrates the nested definitions feature.  Each key 
  788.   thru   returns 'levelx' plus whatever the next higher alt number 
  789.          is defined as. These are defined as described in the 
  790.   Alt 9  'Nested key translation' section earlier in the text.
  791.  
  792.  
  793. WS.KEY - Wordstar customization file
  794.  
  795.      Newkey may be used to customize the Wordstar environment.  F1 
  796. creates a customized initial environment.  Many of the commands 
  797. depend upon making sure that alt f is defined to be the active 
  798. Wordstar file you are using.
  799.  
  800.  
  801.   KEYS        ACTION
  802.   ----        ------
  803.  
  804.   F1          Set help level to 0, toggle off justification, 
  805.               toggle off auto-hypenation
  806.  
  807.   F2          Save file (Ctrl KS), return to original cursor 
  808.               position (Ctrl QP), copy file (defined by alt f) to 
  809.               your a disk (Ctrl KO).  
  810.  
  811.               This will save your current file as defined by alt f 
  812.               and then copy it to your a disk.  This is a one step 
  813.               procedure Wordstar users on a ram disk can use to 
  814.               save their file on a floppy without leaving their 
  815.               current position within Wordstar.
  816.  
  817.   Alt F2      Save file and return to original cursor position.
  818.  
  819.   F5          Underscore
  820.  
  821.   Alt F5      Open underscore, accept input, close underscore 
  822.               after return key is struck.
  823.  
  824.   F6          Double strike
  825.  
  826.   Alt F6      Open double strike, accept input, close double 
  827.               strike after return key is struck.
  828.                                                                               
  829.   Alt F9      Address a short envelope and leave me at position to 
  830.               start receiver's address.
  831.  
  832.   Alt F10     Type my address and end at spot to enter date.
  833.  
  834.   Del         Delete character directly above cursor.
  835.  
  836.   Alt d       Call up Wordstar document file (d, alt f, return)
  837.  
  838.   Alt f       Current file name.  Used by F2, alt d, and alt n.
  839.  
  840.   Alt n       Call up Wordstar non-document file (n, alt f, return)
  841.  
  842.     
  843. GENERAL DOS KEYS COMMON TO MOST KEY FILES:
  844.  
  845.   Alt c       'copy '
  846.  
  847.   Alt e       'erase '
  848.  
  849.   Alt f       Current file name.  Used in other key translations.
  850.  
  851.   Alt t       'dir '
  852.  
  853.  
  854. INFORMATION ABOUT THE FILES ON THE NEWKEY DISK
  855.  
  856. LOADNEW.BAT - This is a sample batch file which will load Newkey 
  857. and the sample Wordstar key definition file, WS.KEY.
  858.  
  859. NEWKEY.DOC - This is the documentation file which contains this 
  860. document.  It is only required when you want to print the 
  861. documentation.
  862.  
  863. NEWKEY.EXE - This is the program whick actually replaces IBM's 
  864. keyboard interrupt (x'16).  This program remains resident while 
  865. other programs execute and unless called upon to translate will be 
  866. transparent.
  867.  
  868. NEWKEY1.EXE - This program provides several functions necessary to 
  869. effectively use Newkey and is described further in this document.
  870.  
  871. PRINTDOC.EXE - This program will print the document file, 
  872. NEWKEY.DOC and is only needed for that purpose.
  873.  
  874.      All files ending in 'KEY' are sample key definition files and 
  875. are described elsewhere in this document.
  876.  
  877. .pa
  878.                               NEWKEY OVERVIEW
  879.  
  880. NEWKEY REQUIREMENTS
  881.  
  882.      Newkey requires PC-DOS 1.1 OR 2.0 and will run on either a 
  883. monochrome or color monitor.  The base program requires 
  884. approximately 3.7K of memory plus an additional 2 bytes per 
  885. character of translation and reserved dynamic define area.
  886.  
  887.  
  888. HOW DOES NEWKEY WORK?
  889.  
  890.      The Newkey keyboard enhancer consists of two programs, 
  891. Newkey.exe and Newkey1.exe.  Newkey.exe, when invoked will replace 
  892. the normal keyboard interrupt (x'16') of DOS.  Just as the normal 
  893. keyboard interrupt, Newkey will read the keyboard buffer and 
  894. return the key to the requesting program, except that Newkey will 
  895. first check the key against its key definition file (where the key 
  896. translations are stored) and if it finds an entry for that key it 
  897. will return the corresponding translation.
  898.  
  899.      Newkey1.exe, the companion program to newkey.exe, provides 
  900. several functions necessary to use Newkey.exe effectively (as 
  901. described in the 'Newkey1 Overview'.  Newkey1 is loaded into high 
  902. memory so that key definition files may be freely loaded.  This 
  903. raises a potential problem should there not be enough free space 
  904. between the top of Newkey and the bottom of Newkey1 to load a key 
  905. definition file.  If this should happen results will be 
  906. unpredictable. 
  907.  
  908.  
  909. NEWKEY'S LIMITATIONS
  910.  
  911.      Newkey allows redefinition of any key (except ctrl break, 
  912. ctrl 6, ctrl 2,and alt =).  Newkey will handle up to approximately 
  913. 27k of key definitions, but any key definition may be as long as 
  914. you wish up to this maximum.  The 27k maximum includes a few bytes 
  915. for overhead and two bytes per character of translation.  Results 
  916. are unpredictable should the 27k maximum be exceeded. 
  917.  
  918. .pa
  919.                             TIPS ON USING NEWKEY
  920.  
  921. USE YOUR AUTOEXEC.BAT FILE
  922.  
  923.      Put the commands to load Newkey and your key definition file 
  924. in your autoexec.bat file.  This will cause Newkey and your key 
  925. definitions to be automatically loaded whenever you boot.  If you 
  926. have disks for different purposes, each disk could contain a copy 
  927. of Newkey, Newkey1 and your key definition files.   
  928.  
  929.      An example of the statements you would want to use can be 
  930. found in LOADNEW.BAT, a batch file supplied with Newkey.  Use your 
  931. editor to copy these statements into your autoexec.bat file and 
  932. change the parameters as appropriate.
  933.  
  934. SETTING THE DYNAMIC DEFINE AREA SIZE PARAMETER
  935.  
  936.      When you first install Newkey you will be actively defining 
  937. keys.  This will require a lot more space in the dynamic define 
  938. area than you will normally use.  During these early sessions set 
  939. the dynamic define area size parameter to a large number, 5000 for 
  940. example.  This will enable you to define key definitions using up 
  941. to 5000 characters without running out of space.
  942.  
  943.      Later, when you have finished creating your key definition 
  944. files, lower the number to a level which will support your normal 
  945. key definition needs during a session.  Newkey uses 300 as a 
  946. default, but you can set the number as low as 5.  Of course you 
  947. may set the define area size at any level you wish, but remember, 
  948. that area is not available to any other programs.
  949.  
  950.      DOS 2.0 users must also allow enough space to load their key 
  951. definitions in addition to supporting their normal key definition 
  952. needs during a session (see Special Note to DOS 2.0 Users in LOAD 
  953. FILE section under NEWKEY1 FUNCTIONS.)
  954.  
  955.      The dynamic define area size parameter is specified when you 
  956. load Newkey.  For more information refer to the section Newkey 
  957. Parameters under LOADING NEWKEY.
  958.  
  959. DO NOT FORGET TO SAVE YOUR KEY DEFINITIONS
  960.  
  961.      Do not forget to save your key definitions at the end of a 
  962. session.  Unless you save the keys you have defined during the 
  963. current session they will be lost when you re-boot or turn off the 
  964. computer.  
  965.  
  966.       It is suggested that as soon as you have finished defining a 
  967. set of keys you wish to keep, that you save them immediately.  It 
  968. is very easy to start a session defining new keys, proceed to use 
  969. them for the rest of the session, and then turn off the computer.  
  970. If this happens, you will have to redefine each key again.  For 
  971. information on saving your key definitions refer to the SAVE FILE 
  972. section under NEWKEY1 FUNCTIONS.
  973.  
  974.  
  975. COMBINING KEY DEFINITION FILES
  976.  
  977.       Occasionally you may wish to combine two key definition 
  978. files.  This may be done by loading one of the files into memory 
  979. using the LOAD FILE function, merging the second into memory using 
  980. the MERGE FILE function, and then saving the key definitions using 
  981. the SAVE FILE function.  These functions are described under 
  982. NEWKEY1 FUNCTIONS.     
  983.  
  984.  
  985. MULTIPLE KEY DEFINITION FILES
  986.  
  987.      You may wish to define multiple key definition files based 
  988. on function.  This would allow you to easily build different key 
  989. definition files without redefining each function's keys for each 
  990. key definition file.  They could also be used to create in-memory 
  991. key definitions at boot time without combining them all into one 
  992. key definition file.
  993.  
  994.      For example, you could define a file for your word 
  995. processor, speadsheet, general DOS commands, etc. and then merge 
  996. various combinations of them together to create one file, or you 
  997. could merge each file in at boot time.  
  998.  
  999. .pa
  1000. DISCLAIMER.
  1001.  
  1002.      In no event will the author be liable to you for any damages, 
  1003. including any lost profits, lost savings or other incidental or 
  1004. consequential damages arising out of the use of or inability to 
  1005. use these programs, even if the author has been advised of the 
  1006. possibility of such damages, or for any claim by any other party.
  1007.  
  1008.  
  1009. PERMISSION TO COPY:
  1010.  
  1011.      Individuals are granted permission by the author to freely 
  1012. copy the Newkey programs and documentation for their own use or to 
  1013. share with others, so long as no price or other consideration is 
  1014. charged.
  1015.  
  1016.      Computer clubs and other non-profit organizations are granted 
  1017. permission by the author to freely copy the Newkey programs and 
  1018. documentation and share it with their members, so long as:
  1019.  
  1020. 1.  No price or other consideration is charged.  However, a 
  1021.     distribution cost may be charged for the cost of the diskette, 
  1022.     so long as it is not more than $10 total.
  1023.  
  1024. 2.  Club members are informed of the user-supported concept and 
  1025.     encouraged to support it with their donations.
  1026.  
  1027. 3.  The programs and documentation are not modified in any way and 
  1028.     are distributed together.
  1029.  
  1030.      Companies are granted permission by the author to copy the 
  1031. Newkey programs and documentation for use on other computers and 
  1032. at other locations in the company, so long as:
  1033.  
  1034. 1.  The full registration fee of $30 has been paid for the 
  1035.     original copy of the program.
  1036.  
  1037. 2.  A usage fee of $25 is paid for each additional "building" 
  1038.     where Newkey will be used.  Within any building for which the 
  1039.     usage fee has been paid, Newkey may be copied freely for use 
  1040.     on any computer in that building.
  1041.  
  1042. .pa
  1043. THE USER-SUPPORTED CONCEPT.
  1044.  
  1045.                      User-supported Software
  1046.   You are encouraged to copy and share this program with others.
  1047.     If after evaluating this program you find it to be useful,
  1048.                 I trust you to send a $30 payment.
  1049.  
  1050.                             Frank Bell
  1051.                          20950 Smallwood
  1052.                        Birmingham, MI 48010
  1053.  
  1054.  
  1055. User-supported software is an experiment in distributing computer 
  1056. programs, based on these beliefs:
  1057.  
  1058. 1.  That the value and utility of software is best assessed by the 
  1059.     user on his/her own system.
  1060.  
  1061. 2.  That the creation of personal computer software can and should 
  1062.     be supported by the computing community.
  1063.  
  1064. 3.  That copying of programs should be encouraged, rather than 
  1065.     restricted.
  1066.  
  1067.      Anyone may legally obtain an evaluation copy of the program 
  1068. from a friend or computer club.  After you have had a chance to 
  1069. use and evaluate the program in your own environment, you are 
  1070. trusted to either forward a payment to the author, or to 
  1071. discontinue use of the program.  In any case, you are encouraged 
  1072. to copy the program for evaluation by others.
  1073.  
  1074.      Free distribution of software and voluntary payment for its 
  1075. use eliminates costs for advertising and copy protection schemes.  
  1076. Users obtain quality software at greatly reduced cost.  They can 
  1077. try it out before buying, and do so at their own pace and in the 
  1078. comfort of their own home or office.  The best programs will 
  1079. survive, based purely on their quality and usefulness.
  1080.  
  1081.      Please join the experiment.
  1082.  
  1083.      If you believe in these ideals, your contribution is 
  1084. solicited to help make them work.
  1085.  
  1086.  
  1087. PROBLEMS, SUGGESTIONS, ETC. 
  1088.  
  1089.      If you should have any problems, suggestions or questions 
  1090. please feel free to write me at the above address.
  1091. hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh